From f42814168c4ad619254210d356434e6e5c43091d Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Fri, 3 Sep 2010 00:13:36 +0300 Subject: [PATCH] Just use TrackMouseEvent directly TrackMouseEvent is present in user32.dll in all Windows versions we support. No need to look it up dynamically. No need to fallback to _TrackMouseEvent from comctrl32.dll. --- gdk/win32/gdkevents-win32.c | 47 ++++++++++--------------------------- 1 file changed, 13 insertions(+), 34 deletions(-) diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 840c4a9646..7bff61baf6 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -152,40 +152,19 @@ static void track_mouse_event (DWORD dwFlags, HWND hwnd) { - typedef BOOL (WINAPI *PFN_TrackMouseEvent) (LPTRACKMOUSEEVENT); - static PFN_TrackMouseEvent p_TrackMouseEvent = NULL; - static gboolean once = FALSE; - - if (!once) - { - HMODULE user32; - HINSTANCE commctrl32; - - user32 = GetModuleHandle ("user32.dll"); - if ((p_TrackMouseEvent = (PFN_TrackMouseEvent)GetProcAddress (user32, "TrackMouseEvent")) == NULL) - { - if ((commctrl32 = LoadLibrary ("commctrl32.dll")) != NULL) - p_TrackMouseEvent = (PFN_TrackMouseEvent) - GetProcAddress (commctrl32, "_TrackMouseEvent"); - } - once = TRUE; - } - - if (p_TrackMouseEvent) - { - TRACKMOUSEEVENT tme; - tme.cbSize = sizeof(TRACKMOUSEEVENT); - tme.dwFlags = dwFlags; - tme.hwndTrack = hwnd; - tme.dwHoverTime = HOVER_DEFAULT; /* not used */ - - if (!p_TrackMouseEvent (&tme)) - WIN32_API_FAILED ("TrackMouseEvent"); - else if (dwFlags == TME_LEAVE) - GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd)); - else if (dwFlags == TME_CANCEL) - GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd)); - } + TRACKMOUSEEVENT tme; + + tme.cbSize = sizeof(TRACKMOUSEEVENT); + tme.dwFlags = dwFlags; + tme.hwndTrack = hwnd; + tme.dwHoverTime = HOVER_DEFAULT; /* not used */ + + if (!TrackMouseEvent (&tme)) + WIN32_API_FAILED ("TrackMouseEvent"); + else if (dwFlags == TME_LEAVE) + GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd)); + else if (dwFlags == TME_CANCEL) + GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd)); } gulong -- 2.30.2